package com.moss.cloud.common.file.service;

import com.moss.cloud.common.file.model.UploadFrom;
import com.moss.cloud.common.file.model.UploadRes;
import com.moss.cloud.common.file.model.UploadZoomFrom;
import org.springframework.web.multipart.MultipartFile;

/**
 * 业务上传类
 *
 * @author 瑾年
 * @date 2023年4月19日
 */
public interface IStorageService {
    /**
     * 通用文件上传
     *
     * @param multipartFile
     * @param directory 文件存储目录-一般传入用户名（账号）-无法获取用户名时传入自定义目录：如：/admin/+时间（20240809）
     * @return
     */
    UploadRes uploadFile(MultipartFile multipartFile,String directory);

    /**
     * base65图片上传
     *
     * @param uploadFrom
     * @return
     */
    UploadRes uploadBase64(UploadFrom uploadFrom);

    /**
     * 上传压缩文件，缩略图（只适用图片）
     *
     * @param uploadZoomFrom
     * @return
     */
    UploadRes uploadZoomFile(UploadZoomFrom uploadZoomFrom);

    /**
     * 删除文件
     *
     * @param fileId
     */
    void removeFile(String fileId);
}
